```pyton
#!/usr/bin/env python

import os
import sys
import paramiko
import re
import sys
import time

private_key = paramiko.RSAKey.from_private_key_file('/root/.cpu/id_rsa')
host_list = (['172.16.5.50','root','22'],)

#cpu.set_missing_host_key_policy(paramiko.AutoAddPolicy())
def cpu_monitoring():
        cpu = paramiko.SSHClient()
        cpu.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        for host in host_list:
                cpu.connect(hostname=host[0], username=host[1],pkey=private_key)
                stdin, stdout, stderr = cpu.exec_command('cat /proc/stat | grep "cpu" ')
                str_out = stdout.read().decode('utf-8')
                str_err = stderr.read().decode('utf-8')
                if str_err != "":
                        print(str_err)
                        continue
                else:
                    cpu_time_list = re.findall('\d+', str_out)
                    cpu_idle1 = cpu_time_list[3]
                    total_cpu_time1 = 0
                    for i in cpu_time_list:
                        total_cpu_time1 = total_cpu_time1 + int(i)
                time.sleep(2)
                stdin, stdout, stderr = cpu.exec_command('cat /proc/stat | grep "cpu" ')
                str_out = stdout.read().decode('utf-8')
                str_err = stderr.read().decode('utf-8')
                if str_err != "":
                        print(str_err)
                        continue
                else:
                    cpu_time_list = re.findall('\d+', str_out)
                    cpu_idle2 = cpu_time_list[3]
                    total_cpu_time2 = 0
                    for j in cpu_time_list:
                        total_cpu_time2 = total_cpu_time2 + int(j)
                cpu_usage = round(1 - (float(cpu_idle2) - float(cpu_idle1)) / (total_cpu_time2 - total_cpu_time1), 2)
                print('当前CPU使用率为:' + str(cpu_usage))
                cpu.close()

def men_monitoring():
        mem = paramiko.SSHClient()
        mem.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        for host in host_list:
                mem.connect(hostname=host[0], username=host[1],pkey=private_key)
                stdin, stdout, stderr = ssh.exec_command('cat /proc/meminfo')
                str_out = stdout.read().decode('utf-8')
                str_err = stdout.read().decode('utf-8')
                if str_err != "":
                        print(str_err)
                        continue
                str_total = re.search('MemTotal:.*?\n', str_out).group()
                print(str_total)
                totalmem = re.search('\d+', str_total).group()
                str_free = re.search('MenFree:.*?\n', str_out).group()
                print(str_free)
                freemem = re.search('\d+', str_free).group()
                use = round(float(freemem)/float(totalmem), 2)
                print('当前内存使用率为:' + str(use))
                mem.close()

def disk_monitoring():
        disk = paramiko.SSHClient()
        disk.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        for host in host_list:
                disk.connect(hostname=host[0], username=host[1],pkey=private_key)
                stdin, stdout, stderr = ssh.exec_command('df -lm')
                str_out = stdout.read().decode('utf-8')
                str_err = stdout.read().decode('utf-8')
                if str_err != "":
                        print(str_err)
                        continue
                print(str_out)
                disk.close()

def network_monitoring():
        network = paramiko.SSHClient()
        network.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        for host in host_list:
                network.connect(hostname=host[0], username=host[1],pkey=private_key)
                stdin, stdout, stderr = ssh.exec_command('cat /proc/net/dev')
                str_out = stdout.read().decode('utf-8')
                str_err = stdout.read().decode('utf-8')
                if str_err != "":
                        print(str_err)
                        continue
                print(str_out)
                network.close()

def main():
        cpu_monitoring()
        men_monitoring()
        disk_monitoring()
        network_monitoring()

if __name__ == '__main__':
        main()

```